Model based driver torque estimation

ABSTRACT

A control system for a power steering system includes an error module that generates an error signal based on a difference of an estimated output vector and an output vector, a scaling module that calculates a feedback correction signal based on the error signal and an observer gain value, an extended state vector estimation module that determines an extended state vector estimate based on the feedback correction signal and a motor torque command, and a gain module that applies a gain to the extended state vector estimate to generate an estimated driver torque signal, the estimated driver torque signal is applied in control of the power steering system.

CROSS-REFERENCES TO RELATED APPLICATIONS

This patent application claims priority to U.S. Provisional PatentApplication Ser. No. 62/213,919, filed Sep. 3, 2015 which isincorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

The present invention relates to a control system for an electric powersteering system, and more particularly to a control system forestimating a driver torque based on a model based estimation.

An electric power steering (EPS) system may employ a torque sensorlocated between a steering column and a rack and pinion assembly. Thetorque sensor can measure the torque applied at the pinion and alsoserve as an approximation of the input torque applied to the steeringwheel by the vehicle operator (e.g. driver). The output of the torquesensor may be used in calculations to determine an amount of assisttorque provided by the motor.

Although the torque sensor can approximate the driver torque duringsteady state operations, the torque sensor measurement typicallydeviates from the driver torque during dynamic transients or duringlarge rack force disturbances, such as when a driver releases thesteering wheel, or when a driver subjects the vehicle to driving on abumpy road, for example. A driver torque sensor can be added on thesteering wheel to allow for an accurate measurement at an increasedcost.

Accordingly, it is desirable to accurately estimate a driver torque inelectric power steering system.

SUMMARY OF THE INVENTION

In one embodiment, a control system for a power steering systemcomprises an error module that generates an error signal based on adifference of an estimated output vector and an output vector, a scalingmodule that calculates a feedback correction signal based on the errorsignal and an observer gain value, an extended state vector estimationmodule that determines an extended state vector estimate based on thefeedback correction signal and a motor torque command, and a gain modulethat applies a gain to the extended state vector estimate to generate anestimated driver torque signal, the estimated driver torque signal isapplied in control of the power steering system.

In another embodiment, a method for controlling a power steering systemcomprises generating an error signal based on a difference of anestimated output vector and an output vector, calculating a feedbackcorrection signal based on the error signal and an observer gain value,determining an extended state vector estimate based on the feedbackcorrection signal and a motor torque command; and applying a gain to theextended state vector estimate to generate an estimated driver torquesignal, the estimated driver torque signal assists in control of thepower steering system.

These and other advantages and features will become more apparent fromthe following description taken in conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter which is regarded as the invention is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The foregoing and other features, and advantages ofthe invention are apparent from the following detailed description takenin conjunction with the accompanying drawings in which:

FIG. 1 illustrates a functional block diagram illustrating a vehicleincluding a steering system in accordance with one embodiment of thedisclosure;

FIG. 2 illustrates a block diagram of a driver torque estimation modulein accordance with one embodiment of the disclosure;

FIG. 3 illustrates a dataflow diagram of the driver torque estimationmodule in accordance with one embodiment of the disclosure;

FIG. 4 illustrates a dataflow diagram of an estimated driver torqueapplied to a steering controller in a lane centering operation inaccordance with one embodiment of the disclosure;

FIG. 5 illustrates a dataflow diagram of the estimated driver torque ina controlled velocity function in accordance with one embodiment of thedisclosure;

FIG. 6 illustrates a dataflow diagram of the driver torque estimationmodule implemented in an automated driver assistance system inaccordance with one embodiment of the disclosure;

FIG. 7 illustrates a dataflow diagram of the driver torque estimationmodule in an automated driver assistance system in accordance with oneembodiment of the disclosure; and

FIG. 8 illustrates a dataflow diagram of the torque assist generationmodule in accordance with one embodiment of the disclosure.

DETAILED DESCRIPTION

Referring now to the Figures, where the invention will be described withreference to specific embodiments, without limiting same, an exemplaryembodiment of a vehicle 10 including a steering system 12 isillustrated. In various embodiments, the steering system 12 includes ahandwheel 14 coupled to a steering shaft 16. In the exemplary embodimentshown, the steering system 12 is an electric power steering (EPS) systemthat further includes a steering assist unit 18 that couples to thesteering shaft 16 of the steering system 12 and to a left tie rod 20 anda right tie rod 22 of the vehicle 10. It should be noted that thesteering system 12 may be a rack assist EPS (REPS) as well. The steeringassist unit 18 includes, for example, a rack and pinion steeringmechanism (not shown) that may be coupled through the steering shaft 16to a steering actuator motor and gearing. During operation, as thehandwheel 14 is turned by a vehicle operator, the motor of the steeringassist unit 18 provides the assistance to move the left tie rod 20 andthe right tie rod 22 which in turn moves left and right steeringknuckles 24, 26, respectively. The left knuckle 24 is coupled to a leftroadway wheel 28, and the right knuckle 26 is coupled to a right roadwaywheel 30 of the vehicle 10.

As shown in FIG. 1, the vehicle 10 further includes various sensors31-34 that detect and measure signals of the steering system 12 and/orof the vehicle 10. The sensors generate sensor signals based on themeasured signals. In one embodiment, a torque sensor 31 is provided forsensing a torque placed on the handwheel 14. In the exemplary embodimentas shown, the torque sensor 31 is placed on the hand wheel 14, howeverit is to be understood that the torque sensor 31 may not always beplaced near or on the hand wheel 14. In one embodiment, the motorposition/velocity sensor 32 senses motor position and/or velocity, andthe handwheel position/velocity sensor 33 senses handwheel positionand/or velocity. In addition, the vehicle 10 may include a wheel speedsensor 34 to assist in measuring vehicle speed. In the embodiment shownin FIG. 1, a single wheel speed sensor 34 is attached near a rear wheelof the vehicle 10. Although a single wheel speed sensor 34 is shown inFIG. 1, a plurality of wheel speed sensors may also be included. Thewheel speed sensor 34 may be located on a transmission case and bedriven by an output gear of a transmission of the vehicle 10.

A control module 50 controls the operation of the steering system 12based on one or more of the sensor signals and further based on thesteering control systems and methods of the present disclosure. In oneembodiment, the control module 50 includes a driver torque estimationmodule 60. The driver torque estimation module 60 receives input signalsthat are measured signals of the EPS system. The driver torqueestimation module 60 may estimate a driver torque based on the inputsignals received from a plurality of sensors, for example. The inputsignals can include but are not limited to a motor command, a t-bartorque signal as measured by the torque sensor 31 on the pinion orhandwheel 14, a motor position signal and a motor velocity signal.

FIG. 2 illustrates an embodiment of a driver torque estimation module 60of the control module 50 of FIG. 1. In various embodiments, the controlmodule 50 can include one or more sub-modules and datastores. As usedherein the terms module and sub-module refer to an application specificintegrated circuit (ASIC), an electronic circuit, a processor (shared,dedicated, or group) and memory that executes one or more software orfirmware programs, a combinational logic circuit, or other suitablecomponents that provide the described functionality. As can beappreciated, the module shown in FIG. 2 may be further partitioned.

Inputs to the control module 50 may be generated from the torque sensor31 (FIG. 1) of the vehicle 10 (FIG. 1) as well as the motorposition/velocity sensor 32. In addition, the inputs may be receivedfrom other control modules (not shown) within the vehicle 10 (FIG. 1),and may be modeled or predefined. Alternatively, the control module 50may receive handwheel position/velocity signals from the handwheelposition/velocity sensor 33. The handwheel position/velocity signals arescaled to motor coordinates, instead of these signals being directlyprovided by motor position/velocity sensor 32.

In FIG. 2, the driver torque estimation module 60 receives a pluralityof input signals. In some embodiments, the input signals include a motorcommand, a t-bar torque signal as measured by a torque sensor, forexample, a motor position signal and a motor velocity signal. The torquesensor providing the t-bar torque signal may be located on the pinion orclose to a steering column. In some embodiments, the t-bar torque signalis measured from a torsion bar on the handwheel. However, it iscontemplated and understood that t-bar torque signal may be generatedfrom any type of torque sensor.

The input signals are typically scaled in the handwheel coordinate, assome of the signals may have been originally provided in a motorcoordinate by respective sensors. In some embodiments, the input signalsare scaled into the handwheel coordinate by a mechanical ratio N andgear efficiency E. Alternatively or additionally, the input signalsprovided to the driver torque estimation module 60 can include areference motor current signal, a measured motor current signal, ameasured handwheel position, measured handwheel velocity, and acalculated motor torque, among other signals.

The measured input signals are used by the driver torque estimationmodule 60 to determine an estimated driver torque signal. The estimateddriver torque signal can be used by the power steering system forfurther compensation of the handwheel and the EPS. In some embodiments,a three-mass mechanical model of the EPS system can be stored in thedriver torque estimation module 60. The three-mass mechanical model canbe used to represent system dynamics in the determination of the drivertorque estimation. A three-mass EPS mechanical model is described in SAE1999-01-0399, Badawy et al., Modeling and Analysis of an Electric PowerSteering System, which is incorporated by reference herein. However,other mass models (e.g. one mass model, two mass model, ten mass model,etc.) may be used by the driver torque estimation module 60 in theestimation of the driver torque. The driver torque observer may use themechanical model to determine the driver torque estimation based on theinput signals. In some embodiments, the three mass model may take intoaccount rack inertia, handwheel inertia, and motor inertia, among otherfactors. The mechanical model can be represented by a state space modelbased on the following state space equations:{dot over (x)}(t)=Ax(t)+Bu(t)  (Equation 1)y(t)=Cx(t)  (Equation 2)

In Equation 1, u(t) is an input vector as a function of motor torque,x(t) is an extended state vector as a function of handwheel position,handwheel velocity, motor position, motor velocity, rack position, rackvelocity, driver torque. In Equation 2, y(t) is an output vector as afunction of handwheel torque, motor position, and motor velocity. A, B,and C are matrices of the state space equations.

The driver torque estimation module 60 estimates non-measured states ofthe EPS system. In some embodiments, the driver torque estimation module60 can use an extended state vector that includes an estimated drivertorque state. The driver torque estimation module 60 is shown in moredetail in FIG. 3.

FIG. 3 illustrates the driver torque estimation module 60 in accordancewith one embodiment of the invention. The driver torque estimationmodule 60 analyzes the received input signals to calculate an estimateddriver torque. The estimated driver torque may closely approximate anactual driver torque due to the algorithms employed by the driver torqueestimation module 60.

In operation, a motor torque may be applied to an EPS system 62 by apermanent magnet synchronous motor. The EPS system 62 may be subject toa disturbance, including but not limited to, road jarring or a releaseof the handwheel by a driver during a steering operation. Accordingly,the actual driver torque acting on the EPS system may be affected by thedisturbance.

The actual driver torque acting on the EPS system 62 may be measured bya sensor modules 64, which may include any number of sensors includingthe sensors shown in FIG. 1. The sensor modules 64 may analyze an actualstate vector that includes the actual driver torque to determine ahandwheel position, motor position and motor velocity of the EPS system.T-bar torque is also received and analyzed by the sensor modules 64. Thedriver torque estimation module 60 receives the handwheel position,t-bar torque, motor position and motor velocity from the sensor modules64. In one embodiment, the sensor modules 64 output the received signalsthat can be represented as an output vector, but other representationsare possible. As described in more detail below, the output vector isanalyzed by an error module 66 of the driver torque estimation module60.

The error module 66 receives the output vector and an estimated outputvector as inputs. The error module 66 calculates an error signal thatrepresents a difference between the output vector and the estimatedoutput vector. The estimated output vector may represent selectedestimated sensor signals, where the output vector may represent theactual signals provided by the sensor modules 64. The error signal issent to the scaling module 70, which calculates a feedback correctionsignal.

In operation, the scaling module 70 scales the error signal to generatethe feedback correction signal. In one embodiment, the feedbackcorrection signal represents errors between measured and estimatedvalues of handwheel torque, motor position, and motor velocity signalsthat have been scaled. To generate the feedback correction signal, thescaling module 70 multiplies the error signal by an observer gain value.The observer gain value may be a matrix designed at least in part usingsteady-state Kalman filtering or pole-placement method, as described byGene F. Franklin, J. David Powell, and Abbas Etnami-Naeini, “Feedbackcontrol of dynamics systems.” Pretince Hall Inc (2006); Gene F.Franklin, S. David Powell, and Michael L. Workman. Digital control ofdynamic systems. Vol. 3. Menlo Park: Addison-Wesley, 1998, both of whichare incorporated by reference herein.

The feedback correction signal generated by the scaling module 70reduces the difference of the estimated output vector and the outputvector by driving the error signal to approach zero.

In part, by allowing the feedback correction signal to approximate azero error signal (e.g. zero value), the driver torque estimation module60 estimates a driver torque that tracks the actual driver torque. Theestimation of the driver torque is determined without an additionalsensor specifically to measure the driver torque.

The feedback correction signal is sent to the extended state vectorestimation module 68. The extended state vector estimation module 68generates an extended state vector estimate.

In addition to receiving the output vector from the sensor modules 64,the driver torque estimation module 60 receives the motor torquecommand. In some embodiments, the motor torque command may be receivedby the state vector estimation module 68 of the driver torque estimationmodule 60.

The extended state vector estimation module 68 applies the motor torquecommand to a set of extended state space equations, which in oneembodiment can include the equations described in equations 1 and 2. Theextended state vector estimation module 68 further applies a feedbackcorrection signal estimated by the scaling module 70 to the extendedstate space equation, thereby generating the extended state vectorestimate. The extended state vector estimate may be represented by{circumflex over (x)}(t), which in some embodiments, is a function ofhandwheel position (x_hw), handwheel velocity ({dot over (x)}_hw), motorposition ({dot over (x)}_mot), motor velocity ({dot over (x)} mot), rackposition (x_am), rack velocity ({dot over (x)}_am), and driver torque(T_dr).{circumflex over ({dot over (x)})}(t)=A{circumflex over(x)}(t)+Bu(t)+L(y−ŷ)  (Equation 3)

The extended state vector estimate is sent to a sensor estimation module69, which uses the extended state vector estimate to calculate theestimated output vector. In some embodiments, the sensor estimationmodule 69 selectively filters the extended state vector estimate. Thus,the signals of the estimated output vector may correspond to the signalsof the output vector. In some embodiments, the sensor estimation module69 applies a selection matrix to reduce the extended state vectorestimate to the estimated output vector.

The extended state vector estimate acts to reduce a magnitude of theerror signal. The extended state vector estimate approaches the actualstate vector. In some embodiments, the extended state vector estimate ismultiplied by a fixed gain value by a gain module 72, to generate anestimated driver torque.

As noted above, the estimated output vector may represent an estimatedt-bar torque, an estimated motor position, and an estimated motorvelocity. However, it is further contemplated and understood that theerror module may receive an estimated output vector and an output vectorthat include other EPS signals.

Referring to FIG. 4, the estimated driver torque produced by the drivertorque estimation module 60 may be used to replace the handwheel torqueas an input to the controller 410. The replacement of the handwheeltorque with the estimated driver torque can produce faster returnperformance. Specifically, a hand wheel torque dependent scaling module409 of the controller 410 may receive an estimated driver torque signal426 instead of a torque signal from torsion bar sensor. Accordingly, anadditional torque is not needed to acquire the torque data required bythe hand wheel torque dependent scaling module 410.

In particular, inputs to the controller 410 of the control module 50(FIG. 1) can be generated from the sensors 30-34 (FIG. 1) of thevehicle, can be modeled, and/or can be predefined. In this example, thecontroller 410 includes a hand wheel return module 408, a hand wheeltorque dependent scaling module 409, a scaled return command module 412,and a table datastore 414, as shown in FIG. 4.

The hand wheel return module 408 receives as input vehicle speed 420 andhand wheel angle 422. The hand wheel angle 422 may be, for example, anangular position of the hand wheel relative to the center position ofthe hand wheel 404. The hand wheel return module 408 determines a returncommand 424 based on the vehicle speed 420 and the hand wheel angle 422.In various embodiments, the hand wheel return module 208 determines thereturn command 424 using one or more hand wheel return lookup tables425. The lookup tables 425 can be indexed by the vehicle speed 420and/or the hand wheel angle 422. The lookup tables 425 can be stored inand accessed from the table datastore 414.

In one example, the hand wheel return module 408 is associated with ninereturn tables 425. A vehicle speed 420 is defined for each of the ninereturn tables. A return curve is defined by the data points in the ninereturn tables. For example, each of the nine return curves is composedof sixteen data points. The data points are defined by the axis, wherethe axis is defined by hand wheel angle 422. In one example, the handwheel angle 422 can range from zero to nine-hundred degrees. In variousembodiments, the axis can be selectable. In various embodiments, allreturn curves share a common axis. As can be appreciated, the data ofthe return curves can be increasing or decreasing. The speed defined forcurve zero can be used as a return speed breakpoint (e.g., returncommand is ramped to zero below the breakpoint speed).

As shown in FIG. 5, the estimated driver torque calculated by the drivertorque estimation module 60 (FIG. 2) can be transmitted to a blendingtable 502. FIG. 5 illustrates the controlled velocity return function ofthe disclosure in more detail. In addition, the driver torque estimationmodule 60 can be included in the blending table to assist in thecreation of a blending factor. The blending table 502 creates a blendingfactor based on the vehicle speed and estimated driver torque.

The blending strategy described in FIG. 5 further includes a handwheelvelocity lookup table 503 that creates a handwheel velocity referencesignal as a function of the handwheel position and vehicle speed. Thehandwheel velocity reference signal is compared with the measuredhandwheel velocity and output to a PID control 504. The PID control 504evaluates the output, and generates a return torque. The return torqueis multiplied by the blending factor at multiplier 506 to generate areturn command. The return command is added to an assist command atadder 508, which is a function of assist torque, a damping value, andany other EPS signals summed at summation block 510. A final motorcommand is generated by combining the assist command with the returncommand. As shown, the system described in FIG. 5 is applicable to acontrolled velocity return function, which requires a steering wheel toreturn to a center position at a pre-defined velocity when the driver'shands are not present on the steering wheel. The EPS determines that adriver's hands are no longer present on the wheel, and generates a motortorque to assist the return of the wheel to a center position. Theabsence of a driver's hands on the wheel is detected slower than desiredwhen using t-bar torque. This is because of a time lag between theactual hands-off wheel event, and the decrease of the t-bar torque to azero value. The t-bar torque is affected not only by driver torque butalso handwheel inertia, damping, and other forces and assemblies incommunication with the EPS. Following a hands off wheel event, drivertorque typically decreases to a zero value more quickly than a t-bartorque. Thus, the driver torque can be used in one embodiment toresponsively enable an assist torque. This allows a steering wheel toreturn to a center position after a minimal unassisted time interval.The implementation of the driver torque estimation module in a blendingtable to enable a smooth return of the handwheel to a center position.

Referring now to FIG. 6, a dataflow diagram illustrates an embodiment ofa submodule of the control module 50 (FIG. 1) used to control a steeringsystem in an advanced driver assistance system. The driver torqueestimation module 60 can also be implemented in a fully autonomous orother semi-autonomous vehicle system. The driver torque estimationmodule 60 generates an estimated driver torque signal, which is sent toblend lookup table 602. The blend lookup table 602 uses the estimateddriver torque signal to produce a scalar blend value. This scalar blendvalue is multiplied with the torque scalar blend value produced by atorque scalar lookup table 604. A t-bar torque measured by torque sensoris used by table 604 to produce the torque scalar blend value. Thescalar multiplier is multiplied with a lane keeping command 620 atjunction 621 to generate a lane keeping torque command A limiter 622clamps the magnitude of the lane keeping torque command. The lanekeeping torque command is added to a vehicle steering motor torquecommand 623, to generate a composite motor command 624. A second limiter626 clamps the composite motor command 626 to generate a final motorcommand 628.

Referring to FIG. 7, the estimated driver torque generated by the drivertorque estimation module 60 can be applied to a hands on wheel detectionmodule 702. In operation, the estimated driver torque 780 is filteredand processed by the hands on wheel detection module 702. The hands onwheel detection module 702 further analyzes the vehicle speed 706 sentfrom a vehicle speed sensor. A series of timer and threshold detectorsare applied by the hands on wheel detection module 702 to generate atorque assist signal.

FIG. 7 is a block diagram of a hands off wheel calculation module 700 ofthe control module 50 (FIG. 1). The hands off wheel calculation module700 illustrates one approach for determining a hands off wheel (HOW)condition. In the embodiment as shown, the hands off wheel calculationmodule 700 includes a notch filter 770 (also referred to as a band-stopfilter), an envelope detector 772, a HOW state detector 774, and atorque assist generation module 776.

The hands off wheel calculation module 700 receives an estimated drivertorque signal 780 from the driver estimation module 60 (FIG. 2) insteadof a torque signal from a torque sensor located in a vicinity of ahandwheel. Accordingly, a signal indicative of the amount of torqueexerted on a hand wheel is not required by the hands off wheelcalculation module 700. The notch filter 70 receives the estimateddriver torque 780 as an input. The notch filter 770 may be any type offiltering device configured to remove or attenuate a band or range offrequencies in the estimated driver torque 780 that represent a normalcolumn mode frequency, and produces as output a filtered estimateddriver torque signal 784. The normal column mode frequency representsthe vibrational modes that a hand wheel and a steering shaft operatewithin, if a driver has not placed his or her hands on the hand wheel(e.g., a hands off wheel condition). As will be further describedherein, hands off wheel calculation module 700 contemplates that thehands off wheel condition exists if the HOW condition is not detected.For example, in one embodiment, the normal column mode frequency mayrange from about 8 Hertz to about 15 Hertz. The normal column mode maybe adjusted based on the type of torque sensor that is provided (e.g., acompliant torque sensor versus a non-compliant torque sensor). Thefiltered estimated driver torque signal 784 is then sent to the envelopedetector 772.

The envelope detector 772 determines an envelope of the filteredestimated driver torque signal 784, and produces a HOW detection signal788 as output. The HOW detection signal 788 represents the envelope E ofthe filtered estimated driver torque signal 784 at a given point intime. The envelope detector 772 may use any number of envelope detectionapproaches to determine the HOW detection signal 788. For example, insoftware-based approach the envelope detector 772 passes the filteredestimated driver torque signal 784 to a low pass filter (notillustrated), and then determines an absolute value of the filteredestimated driver torque signal 784. The HOW detection signal 788 is thensent to the HOW state detector 774.

The HOW state detector 774 monitors the HOW detection signal 788 anddetermines if the HOW condition exists based on comparing the value ofthe HOW detection signal 788 with a threshold torque value over apredetermined time interval. If the HOW condition is determined toexist, then a HOW signal 710 is generated by the HOW state detector 774and sent to the torque assist generation module 776. In one embodiment,the HOW state detector 776 may determine the level of force a driver mayhave on the hand wheel. For example, a HOW medium signal 712 indicates arelatively moderate level of force, and a HOW high signal 714 indicatesa relatively high level of force. If the state detector 774 does notsend either the HOW signal 710, the HOW medium signal 712, or the HOWhigh signal 714 to the torque assist generation module 776, then thehands off wheel condition exists. In the exemplary embodiment as shownin FIG. 7, the HOW state detector 774 includes an ON/OFF sub-module 704,a medium sub-module 706, and a high sub-module 708. The ON/OFFsub-module 704 is used to generate the HOW signal 710, the mediumsub-module 706 is used to determine the HOW medium signal 712, and thehigh sub-module 708 is used to generate the HOW high signal 714. As thelevel of force estimated as being exerted by a driver increases (e.g., arelatively moderate level of force indicated by the HOW medium signal712, or a relatively high level of force indicated by the HOW highsignal 714), the driver estimation module 60 may predict with a higherconfidence level that the HOW condition actually exists. For example,the HOW medium signal 712 indicates the HOW condition exists withrelatively more certainty or confidence when compared to the HOW signal710.

In the embodiment as shown in FIG. 7, six threshold torque values T areused by the HOW state detector 774, however it is to be understood thatany other number of threshold torque values T may be used as well. TheON/OFF sub-module 7104 includes an OFF threshold value 790 and an ONthreshold value 772. The OFF threshold value 90 indicates a driver doesnot have his or her hands on the hand wheel, and the ON threshold value792 indicates a driver has his or her hands on the hand wheel. Themedium sub-module 7106 includes a Medium Threshold OFF value 794 and aMedium Threshold ON value 796. The Medium Threshold OFF value 794 andthe Medium Threshold ON value 796 are indicative of a moderate level offorce by a driver on the hand wheel. The high sub-module 7108 includes aHigh Threshold OFF value 798 and a High Threshold ON value 100. The HighThreshold OFF value 798 and the High Threshold ON value 7100 areindicative of a high level of force by a driver on the hand wheel. Inone exemplary embodiment, the OFF threshold value 790 is about 0.175 Nm,the ON threshold value 7792 is about 0.7 Nm, the Medium Threshold OFFvalue 794 is about 0.8 Nm, the Medium Threshold ON value 7796 is about1.0 Nm, the High Threshold OFF value 7798 is about 1.1 Nm, and the HighThreshold ON value 7100 is about 1.5 Nm, however it is to be understoodthat other torque values may be used as well.

In one embodiment, the threshold torque values T may be adjusted basedon the speed of the vehicle. The speed of the vehicle is monitored bythe vehicle speed sensor. The driver estimation module 60 receives asinput a vehicle speed signal 7120 from the vehicle speed sensor. Thevehicle speed signal 7120 is sent to a lookup table 7122. The lookuptable 7122 is used to determine modified torque threshold values T′based on the vehicle speed signal 7120. The modified torque thresholdvalues T′ are then sent to the HOW state detector 774. Specifically, themodified torque threshold values T′ include an OFF threshold value 790′,an ON threshold value 792′, a Medium Threshold OFF value 794′, a MediumThreshold ON value 796′, a High Threshold OFF value 798′, and a HighThreshold ON value 7100′. The modified torque threshold values T′ may beused in place of the torque threshold values T by the state detector774.

A first timer T1 and a second timer T2 are provided for each of theON/OFF sub-module 7104, the medium sub-module 7106, and the highsub-module 7108. Specifically, the ON/OFF sub-module 7104 is incommunication with a first timer T1 and a second timer T2, the mediumsub-module 7106 is in communication with a medium first timer T1 and amedium second timer T2, and the high sub-module 7108 is in communicationwith a high first timer T1 and a high second timer T2.

The ON/OFF sub-module 7104 of the HOW state detector 774 monitors theHOW detection signal 788 until the ON/OFF sub-module 7104 determinesthat the HOW detection signal 788 is greater than the ON threshold value792. Upon determining the HOW detection signal 788 exceeds the ONthreshold value 792, the ON/OFF sub-module 7104 sends a start timersignal 7130 to both the first timer T1 and the second timer T2. Thefirst timer T1 is configured to count up from a first interval of timewhen receiving of the start timer signal 7130, and the second timer T2is configured to count up from a second interval of time when receivingof the start timer signal 7130. The first interval of time and thesecond interval of time are calibratable values that maybe adjustedbased on the type of application. In one embodiment, the first intervalof time of the first timer T1 is less than the second interval of timeof the second timer T2. The ON/OFF sub-module 7104 continues to monitorthe HOW detection signal 788 as the first timer T1 counts up from thefirst interval of time. It should be noted that the first timer T1 andthe second timer T2, the medium first timer T1, the medium second timerT2, the high first timer T1 and the high second timer T2 each runconcurrently with one another.

The first timer T1 sends a Timer 1 expired signal 7134 to the ON/OFFsub-module 7104 once the first interval of time has expired. Once theTimer 1 expired signal 7134 is received by the ON/OFF sub-module 7104,then the ON/OFF sub-module 7104 determines if the HOW detection signal788 has remained above the ON threshold value 792 during the firstinterval of time. If the HOW detection signal 788 has remained above theON threshold value 792 during the first interval of time, then the HOWcondition exists. The state detector 774 is set to a HOW=1 state (e.g.,a HOW On state exists), and the ON/OFF sub-module 7104 generates the HOWsignal 7110. The ON/OFF sub-module 7104 may also send a reset signal7132 to the first timer T1 and the second timer T2. The reset signal7132 initializes the first timer T1 back to time=0. The reset signal7132 causes the second timer T2 to cease counting up, and initializesthe second timer T2 back to time=0.

If the HOW detection signal 788 does not remain above the ON thresholdvalue 792 during the first interval of time and the reset signal 7132 isnot sent, the second timer T2 may continue to count up until the secondinterval of time has lapsed, and a Timer 2 expired signal 7136 is thensent to the ON/OFF sub-module 7104. Once the Timer 2 expired signal 7136is received by the ON/OFF module 7104, then the ON/OFF sub-module 7104determines if the HOW detection signal 788 has remained below the OFFthreshold value 790 during the second interval of time. If the HOWdetection signal 788 has remained below the OFF threshold value 790during the second interval of time, then the HOW condition does notexist. The ON/OFF sub-module 7104 may then send the reset signal 7132 toinitialize the first timer T1 and the second timer T2.

A similar approach may be used to generate the HOW medium signal 7112 bythe medium sub-module 7106. The medium sub-module 7106 may monitor theHOW detection signal 788. Upon determining the HOW detection signal 788is greater than the Medium threshold ON value 796, the medium sub-module7106 sends a start timer signal 7140 to both the medium first timer T1and the medium second timer T2. The medium sub-module 7106 continues tomonitor the HOW detection signal 788 as the first timer T1 counts upfrom the first interval of time.

The medium first timer T1 sends a Timer 71 expired signal 7144 to themedium sub-module 7106 once the first interval of time has expired. Oncethe Timer 1 expired signal 7144 is received by the medium sub-module7106, then the medium sub-module 7106 determines if the HOW detectionsignal 788 has remained above the Medium threshold ON value 796 duringthe first interval of time. If the HOW detection signal 788 has remainedabove the Medium threshold ON value 796 during the first interval oftime, then the HOW condition exists. The state detector 774 is set to aHOW Medium state and generates the HOW Medium signal 7112. The mediumsub-module 7106 may also send a reset signal 7142 to the medium firsttimer T1 and the medium second timer T2.

If the HOW detection signal 788 does not remain above the Mediumthreshold ON value 796 during the first interval of time and the resetsignal 7142 is not sent, the medium second timer T2 may continue tocount up until the second interval of time has lapsed, and a Timer 72expired signal 7146 is then sent to the medium sub-module 7106. Once theTimer 2 expired signal 7146 is received by the medium sub-module 7106,then the medium sub-module 7106 determines if the HOW detection signal788 has remained below the Medium threshold OFF value 796 during thesecond interval of time. If the HOW detection signal 788 has remainedbelow the Medium threshold OFF value 794 during the second interval oftime, then the HOW Medium condition does not exist. The mediumsub-module 7106 may then send the reset signal 7142 to initialize themedium first timer T1 and the medium second timer T2.

A similar approach may be used to generate the HOW high signal 7114 bythe high sub-module 7108. The high module 7108 monitors the HOWdetection signal 788, and upon determining the HOW detection signal 788is greater than the High threshold ON value 7100, the high sub-module7108 sends a start timer signal 7150 to both the high first timer T1 andthe high second timer T2. The high sub-module 7108 continues to monitorthe HOW detection signal 788 as the high first timer T1 counts up fromthe first interval of time.

The high first timer T1 sends a Timer 1 expired signal 7154 to the highsub-module 7106 once the first interval of time has expired. Once theTimer 71 expired signal 7154 is received by the high sub-module 7108,then the high sub-module 7108 determines if the HOW detection signal 788has remained above the High threshold ON value 7100 during the firstinterval of time. If the HOW detection signal 788 has remained above theHigh threshold ON value 7100 during the first interval of time, then theHOW High condition exists. The state detector 774 is set to a HOW Highstate and generates the HOW High signal 7114. The high sub-module 7108may also send a reset signal 7152 to the high first timer T1 and thehigh second timer T2.

If the HOW detection signal 788 does not remain above the High thresholdON value 7100 during the first interval of time and the reset signal7152 is not sent, the second timer T2 may continue to count up until thesecond interval of time has lapsed, and a Timer 72 expired signal 7156is then sent to the high sub-module 7108. Once the Timer 2 expiredsignal 7156 is received by the high sub-module 7108, then the highsub-module 7108 determines if the HOW detection signal 788 has remainedbelow the High threshold OFF value 798 during the second interval oftime. If the HOW detection signal 788 has remained below the Highthreshold OFF value 798 during the second interval of time, then the HOWcondition does not exist, and the state detector 774 is not set to theHOW High state. The high sub-module 7108 may then send the reset signal7152 to initialize the high first timer T1 and the high second timer T2.

The torque assist generation module 776 receives as input the HOW signal7110, the HOW Medium signal 7112, or the HOW high signal 7114 from theHOW state detector 774. The torque assist generation module 776selectively generates the torque assist command Tassist to create torquenudges in the hand wheel 734 while a lane monitoring system is in assistmode. Specifically, the torque assist generation module 776 may onlygenerate the torque assist command Tassist in assist mode if one of theHOW signal 7110, the HOW Medium signal 7112, or the HOW high signal 7114is received from the HOW state detector 774. The torque assistgeneration module 776 may adjust the value of the torque assist commandTassist based on if the HOW signal 7110, the HOW Medium signal 7112, orthe HOW high signal 7114 is received. Specifically, the torque assistcommand Tassist increases as the level of force exerted on the handwheel 734 increases. For example, if the HOW high signal 7114 isreceived, then torque assist command Tassist generated may be greaterthan if the HOW signal 7110 was received. The HOW signal 7110, the HOWMedium signal 7112, or the HOW high signal 7114 from the HOW statedetector 774 may also be provided to the lane monitoring system 732,where the lane monitoring system 732 may not switch from the assist modeto the autonomous mode unless the HOW condition exists (e.g., either theHOW signal 7110, the HOW Medium signal 7112, or the HOW high signal 7114is sent by the state detector 774).

FIG. 8 illustrates a dataflow diagram of the torque assist generationmodule 776 in accordance with one embodiment of the disclosure.

In operation, the torque assist generation module 776 receives a HOW Lowcommand, a HOW Med command, and a HOW High command. The HOW Low command,HOW Med command, and HOW High command are each multiplied by respectivegain modules 802, 804 and 806. In one embodiment, gain module 802multiplies HOW Low command by a value of 0.1, gain module 804 multipliesHOW Med command by a value of 0.3, and gain module 806 multiplies HOWHigh command by a value of 0.6. The outputs of gain modules 802, 804 and806 are sent to adder 808, where the outputs are summed, and the sum ofthe adder 808 is sent to a rate limiter 810 that limits a rate ofincrease or decrease. The output of the rate limiter 810 is sent tosaturation block 812, where a value of 0 to 1 is computed based on thevalue output from the rate limiter 810. A lane centering command ismultiplied with the value output by the saturation block 812 at theproduct block 814. The product produced by the product block 814 is sentto the saturation limiter 816 to limit a saturation value produced bythe product block 814. The output of the saturation limiter is then sentto an adder 818, where the output of the saturation limiter 816 issummed with a vehicle steering motor torque command. The output of theadder 818 is subjected to a second saturation limiter 820, which outputsthe Tassist command.

While the invention has been described in detail in connection with onlya limited number of embodiments, it should be readily understood thatthe invention is not limited to such disclosed embodiments. Rather, theinvention can be modified to incorporate any number of variations,alterations, substitutions or equivalent arrangements not heretoforedescribed, but which are commensurate with the spirit and scope of theinvention. Additionally, while various embodiments of the invention havebeen described, it is to be understood that aspects of the invention mayinclude only some of the described embodiments. Accordingly, theinvention is not to be seen as limited by the foregoing description.

Having thus described the invention, it is claimed:
 1. A control systemfor a power steering system, the system comprising: a processor; and amemory that includes instructions that, when executed by the processor,cause the processor to: generate an error signal based on a differenceof an estimated output vector and an output vector; calculate a feedbackcorrection signal based on the error signal and an observer gain value,the feedback correction signal reducing the difference of the estimatedoutput vector and the output vector by driving the error signal toapproach zero; determine an extended state vector estimate based on thefeedback correction signal and a motor torque command; and apply a gainto the extended state vector estimate to generate an estimated drivertorque signal, the estimated driver torque signal is applied in controlof the power steering system, wherein the extended state vectorapproaches an actual state vector.
 2. The system of claim 1, wherein theinstructions further cause the processor to generate the estimatedoutput vector based on the extended state vector estimate.
 3. The systemof claim 1, wherein the instructions further cause the processor todetermine the extended state estimate based on an extended state-spaceequation.
 4. The system of claim 3, wherein the state-space equation isbased on a motor torque, a t-bar torque signal, a motor position signal,and a motor velocity signal.
 5. The system of claim 1, wherein theoutput vector includes a motor torque, a handwheel position signal, amotor position signal, and a motor velocity signal.
 6. The system ofclaim 5, wherein the motor torque, the handwheel position signal, themotor position signal, and the motor velocity signal are represented inhandwheel coordinates.
 7. The system of claim 1, wherein the observergain value is a matrix determined by a Kalman filtering technique. 8.The system of claim 1, wherein the estimated driver torque signalassists a handwheel to a center position.
 9. The system of claim 1,wherein the estimated driver torque signal is used to scale at least oneof a lane-centering command and a lane assist command in a driverassistance system.
 10. A method for controlling a power steering system,the method comprising: receiving at least an output vector; generatingan error signal based on a difference of an estimated output vector andthe output vector; calculating a feedback correction signal based on theerror signal and an observer gain value, the feedback correction signalreducing the difference of the estimated output vector and the outputvector by driving the error signal to approach zero; determining anextended state vector estimate based on the feedback correction signaland a motor torque command; and applying a gain to the extended statevector estimate to generate an estimated driver torque signal, theestimated driver torque signal assists in control of the power steeringsystem, wherein the extended state vector approaches an actual statevector.
 11. The method of claim 10, wherein the extended state vectorestimate is determined based on a state-space equation.
 12. The methodof claim 11, wherein the state-space equation is based on a motortorque, a handwheel position signal, a motor position signal, and amotor velocity signal.
 13. The method of claim 10, wherein the outputvector includes a motor torque, a handwheel position signal, a motorposition signal, and a motor velocity signal.
 14. The method of claim13, wherein the motor torque, the handwheel position signal, the motorposition signal, and the motor velocity signal are represented byhandwheel coordinates.
 15. The method of claim 10, wherein the observergain value is a matrix based at least in part on a Kalman filteringtechnique.
 16. The method of claim 10, wherein the estimated drivertorque signal is used to assist a handwheel to a center position. 17.The method of claim 10, wherein the estimated driver torque signal isused to scale at least one of a lane-centering command and a lane assistcommand in a driver assistance system.